Conventional code division multiple access (CDMA) transmitters and receivers, each of which may be located at a mobile station or a base station, may exchange information using a number of radio configurations (RCs) based on different sets of forward and reverse traffic channel formats. Each RC may be characterized by physical layer parameters, such as, channel coding, spreading and modulation schemes combined with spreading rate that result in a set of transmission or candidate rates. Each set of candidate rates includes a base candidate rate and an associated set of candidate rates. For example, in RC3, the base candidate rate may be equal to 9.6 kbps and the associated set of candidate rates may include 4.8 kbps, 2.7 kbps and 1.5 kbps.
When these configurable RCs are utilized, however, CDMA receivers in mobile stations and/or base stations do not have a priori knowledge of the candidate rate used to transmit the received data. That is, for example, only the radio configuration used for the communication is available to the receivers. Accordingly, CDMA receivers must blindly determine this unknown data rate. This is referred to as blind data rate determination.
In a conventional method for blind data rate determination, a received signal is decoded using a Viterbi decoding algorithm for each of a plurality of possible candidate rates. The decoded signals are convolutionally re-encoded, and the re-encoded signal is compared with the received signal. This comparison is a straight bit-wise comparison looking for the minimum bit error rate, and adopting the rate associated with the minimum bit error rate. Cyclic Redundancy Check (CRC), if present, may be used to assist in the data rate selection.
While this conventional method may be a sufficient approximation for determining the rate at which the data was transmitted, the results of a bit-wise comparison are simply positive or negative indications of matches. Thus, problems may be encountered when a very low data rate is used because there are fewer bits per frame over which the bit-wise comparison may be taken. Additionally, a CRC is either not used (e.g., RC1) or has a smaller length (e.g., RC2 and/or RC4) for lower data rates in order to save overhead, and thus, its usefulness may be limited.
For example, in RC1, a 20 millisecond (ms), 16 bit data frame encoded with a 1.2 kbps data rate may contain only 72 bits of meaningful information over which bit wise comparisons may be made, which results in lower reliability of the data rate determination.
Moreover, conventional rate determination algorithms may have limited error detection due to, for example, the limited length of cyclic redundancy codes (CRCs) appended during the encoding process at the transmitter. That is, for example, smaller data blocks associated with lower data rates used for reducing overhead. This is especially true for small data blocks with low data rate in order to reduce overhead. As a result of this limited error detection, higher layers may force frame errors to be reported even when multiple candidate data rates have passed a CRC check. Thus, valid frames may be inadvertently erased.